package com.lujieni.nio.c1;

import java.nio.ByteBuffer;

public class TestByteBufferReadWrite {

    public static void main(String[] args) {
        test02();
    }

    /**
     *
     */
    public static void test01() {
        ByteBuffer allocate = ByteBuffer.allocate(10);
        allocate.put((byte) 12);
        allocate.put((byte) 13);
        allocate.put((byte) 14);
        allocate.put((byte) 15);

        allocate.flip(); // 读模式 position 为0
        System.out.println(allocate.get()); // position 向下移位
        allocate.put((byte) 16); // 13变为了16 position向下移位
        System.out.println(allocate.get()); // 14
    }

    public static void test02() {
        ByteBuffer allocate = ByteBuffer.allocate(10);
        allocate.put((byte) 12);
        allocate.put((byte) 13);
        allocate.put((byte) 14);
        allocate.put((byte) 15);

        allocate.flip(); // 读模式 position 为0
        System.out.println(allocate.get()); // position 向下移位
        allocate.compact(); // 指针指向末尾
        byte b = allocate.get();
        System.out.println(b);

    }
}